Field of the Invention
In modern communications networks, which comprise a large number of network nodes, data is frequently transmitted within data packets. As a rule, a so-called routing statement is thereby transmitted in association with a data packet, specifying a destination network node or a destination terminal and, possibly, also a route leading to it. Network nodes which are involved in the data transmission use the routing statementxe2x80x94or parts of itxe2x80x94to in each case determine the network node to which the received data packet is intended to be relayed, in order to pass this data packet through the communications network to a destination network node or destination terminal. If a routing statement formed in the source network node itself specifies a complete route to a destination network node or a destination terminal, this is referred to as explicit routing (or source routing). In this case, the routing statement defines, for each network node located on the route, the network node to which the data packets associated with the routing statement should in each case be relayed. An alternative method is so-called hop-by-hop routing, in which, although a routing statement formed in the source network node specifies a destination network node or a destination terminal, it does not, however, specify a route leading to it. Instead of this, the specific route is defined by those network nodes which are involved in the transmission of the data packets and which each autonomously use the routing statement and the network topology to decide the network nodes to which the data packets should in each case be relayed.
These days, a large number of routing methods are used for data transmission on the Internet. Data transmission on the Internet is based on the so-called Internet Protocol (IP) in which each data packet to be transmitted contains as the routing statement a so-called IP address which identifies the destination terminal. Although, on the one hand, such a routing statement can be produced very easily, on the other hand it requires relatively time-consuming evaluation of the IP address by network nodes which are involved in a data transmission, in order to gain the information required for relaying the data packets.
Prior art routing methods for reducing this complexity are so-called label-switching methods, in which each data packet provided with an IP address is preceded by an additional routing statement, from which the information required for relaying the data packets can be obtained very quickly. The additional routing statement in this case essentially comprises one or more identification records, which may be used as table indices for routing information tables provided in network nodes. The process of determining the information required for relaying the data packets can thus be reduced to table accesses. The original routing statementxe2x80x94that is to say the IP addressxe2x80x94is still also transmitted so that data packets can also be passed on in subregions of the communications network which are not designed for a label-switching method. When handing over to such a subregion, the additional routing statement is removed once again, and the data packets are relayed on the basis of the IP address and in accordance with the Internet Protocol.
A label-switching method has been found to be particularly advantageous in conjunction with explicit routing since, in this case, route definition may be carried out only in the source network node, for example using a Dijkstra routing algorithm. In a label-switching method based on explicit routing, a sequence of identification records is combined in the routing statement, with these identification records each denoting, for each of the network nodes located on the route, that network node to which data packets associated with that routing statement should be relayed.
However, until now, label-switching methods used in conjunction with explicit routing still have a weakness. No way has yet been found for using these methods to transmit a data packet by explicit routing in parallel to a number of destination network nodes and/or destination terminals. When such a transmission mode, which is also referred to as multicast routing, were present, the range of applications of a label-switching method would be extended considerably in conjunction with explicit routing. In particular, this would allow applications such as point-to-multipoint links and conference circuits to be provided in a simpler manner than in the past.
The object of the present invention is to provide a method of transmitting data packets in a heterogeneous communications network which overcomes the above-noted deficiencies and disadvantages of the prior art devices and methods of this general kind. More specifically, the novel method should allow transmitting data packets or connection setup messages on the basis of routing statements which are intended for different routing methods, between a source network node and a number of destination network nodes and/or destination terminals.
With the above and other objects in view there is provided, in accordance with the invention, a method of transmitting data packets in a communications network from a source network node to a plurality of destinations (i.e., destination network nodes and/or destination terminals) along a branching route specified by a number of routing statements provided for different routing methods. The novel method comprises the following steps:
producing a first routing statement in a source network node, the first routing statement
having branching information for each branch in the route and having partial routing information, specifying the route branch, for each route branch of the given branch; and
containing a cross-reference to a further routing statement;
allocating the first routing statement to at least one data packet to be transmitted, and transmitting to network nodes immediately following the source network node on the route; and
controlling with the routing statement the network node receiving the routing statement, with
branching information initiating transmission of a received data packet through network nodes denoted by the partial routing information allocated to a route branch and immediately following the branch, to which, furthermore, the respective partial routing information is transmitted, with or without information in each case denoting one of these nodes, as the routing statement, and
initiating, with the network node receiving the routing statement, a valuation of the further routing statement denoted by the cross-reference when a cross-reference relating to this network node is present, and the received data packet being passed on to network nodes or terminals denoted in the further routing statement.
This first method is particularly relevant for transmission of data packets.
With the above and other objects in view there is also provided, in accordance with the invention, a method of transmitting connection setup messages in a communications network from a source network node to a plurality of destinations along a branching route specified by a plurality of routing statements provided for different routing methods. The novel method comprises the following steps:
producing a first routing statement in a source network node, the first routing statement
having branching information for each branch in the route and having partial routing information, specifying the route branch, for each route branch of the relevant branch; and
containing a cross-reference to a further routing statement;
allocating the first routing statement to at least one connection setup message to be transmitted, and transmitting the first routing statement to network nodes immediately following the source network node on the route; and
controlling a network node with the routing statement received thereby, wherein
branching information initiating transmission of a received connection setup message through network nodes denoted by the partial routing information allocated to a route branch and which immediately follow the branch, to which, furthermore, the respective partial routing information is transmitted, with or without information in each case denoting one of the nodes, as the routing statement, and wherein
the network node receiving the routing statement initiates a valuation of the further routing statement denoted by the cross-reference when a cross-reference relating to this network node is present, and the received connection setup message being passed on to network nodes or terminals denoted in the further routing statement.
This second method is particularly relevant for transmission of connection setup messages.
The invention and its advantages will be analyzed in the following text, primarily with respect to transmission of data packets. The statements which relate to the transmission of data packets also apply just as well, in the same sense, to transmission of connection setup messages and connection clearing messages.
A method according to the invention is essentially carried out by routing devices in network nodes which are involved in the transmission of data packets. One or more routing statements which are allocated to a data packet to be transmitted are evaluated in each of these routing devices, and the data packet is passed on as a function of this.
A network node to which the data packet is to be passed on by a routing device is defined by relaying information contained in the routing statement. This relaying information may, for example, comprise information (for example an IP address) identifying this network node, an identification record known in conjunction with label-switching methods, or information which identifies an output port via which the data packet is to be passed on to this network node. In addition to those details which define a network node, the first routing statement, which is formed in the source network node, also, according to the invention, contains branching information, which indicates branches in the route, and one or more cross-references to further routing statements. Branching information and a cross-reference to a further routing statement are in this case always related to a specific network node. Branching information causes the network node to which it related to pass the data packet on to a number of network nodes, rather than to an individual network node. In contrast, a cross-reference for a network node to a further routing statement causes that network node to evaluate this further routing statement and to pass the data packet on to network nodes identified in this further routing statement.
The method according to the invention can be used particularly advantageously in heterogeneous communications networks, that is to say in communications networks having a number of differently structured subnetworks, such as the Internet. Specifically, in communications networks such as this, individual subnetworks often use routing methods which are specifically adapted to them and which are each dependent on different routing statements. One example of this is subnetworks which are designed for a label-switching method and whose routing devices require a sequence of identification records as routing statements for passing on data packets more quickly. Using a method according to the invention, routing statements which are advantageous for individual subnetworks can be taken into account or produced in the source network node itself, and can be included in the routing process via the first routing statement that is formed there. During route definition, a routing process can in many cases still be optimized by including a number of alternative routing statements.
The method according to the invention allows the advantages of very fast routing methods, based on a specifically adapted form of the routing statement, such as label-switching methods, to be transferred to a multicast transmission mode with explicit routing, as well.
A further advantage of the method according to the invention is that a data packet can also be transmitted to an individual destination network node or to an individual destination terminal without changing the algorithm on which the method according to the invention is based. Specifically, if the first routing statement, which is formed in the source network node, contains neither branching information nor any cross-reference to a further routing statement, the data bracket is transmitted to only one destination network node or one destination terminal.
Each routing statement can be allocated either to an individual data packet or to a number of data packets to be transmitted. While, in the former case, a dedicated routing statement must be transmitted for each data packet, for example in a packet header provided for this purpose, in the latter case, a routing statement need be transmitted only once for all the data packets which are associated with it and refer to it.
According to one advantageous development of the invention, a routing statement which is allocated to a number of data packets isxe2x80x94at least partiallyxe2x80x94transmitted along the route before these data packets in order to make preparations in network nodes along the route for the data packets, which are to be transmitted subsequently and which refer to this routing statement, to be passed on quickly. For this purpose, the relaying information which is required in order to pass these data packets on from this network node is read in each network node, from this routing statement or from its part which is in each case transmitted, and is stored in this network node such that it can be called up. When a data packet arrives later, this means that the stored relaying information for that routing statement to which this data packet refers is called up sequentially, and the data packet is passed on as a function of this routing statement. A reference in a data packet to a previously transmitted routing statement can be provided, for example, by means of allocation information which is transmitted with this data packet and refers to this routing statement.
In accordance with an added feature of the invention, by transmitting a connection setup message, routing information associated with the connection which is to be set up is in each case stored in network nodes, which receive such a message, the routing information denoting that network node from which the connection setup message was in each case received. The stored routing information is used to pass on in the direction of the source node data packets which are to be transmitted in the course of the connection, which is to be set up, from the destination network nodes and/or destination terminals to the source network nodexe2x80x94that is to say in the direction opposite that in which the connection setup message is transmitted. Transmission of data packets from a number of data sources to a single transmission destination is frequently also referred to as xe2x80x9cmergingxe2x80x9d.
This can be implemented particularly easily if branching information is formed from branch information which indicates a branch in the route at a specific network node, and branch path end information which indicates the end of a respective route branch. The end of a route branch which branches further can in this case be defined, inter alia, as the end of the complete specification of the route branch in the routing statement. The branch information, for its part, can be represented by numerical information which indicates the number of network nodes between the branch and the end of the route branch as indicated by the branch path end information. In general, such numerical information can be inserted into the routing statement following associated branch path end information. In this case, the associated numerical information can be determined immediately after reading branch path end information, and it is thus possible to determine the number of network nodes through which it is necessary to count back, starting from the end of the route branch, in order to determine the network node at which the branch occurs. As an alternative to this, the branch information can be represented by reserved code information whose position within the routing statement marks a branch.
According to a further advantageous development of the invention, a further routing statement is produced in the source network node from an existing routing statement which has been allocated to a data packet, and is transmitted in association with the data packet. The further routing statement is in this case optimized for efficient evaluation of specific subregions of the communications network in the network nodes. For example, a sequence of identification records which is derived from the IP address and is intended for fast evaluation by means of a label-switching method can be added to a data packet which is received in the source network node for passing on to a destination network node or to a destination terminal and is provided only with an IP address. The data packet can thus be transmitted considerably more quickly in those subregions of the communications network which are located between the source network node and the destination network node or destination terminal and are designed for a label-switching method.
According to a further advantageous development, routing statements which are intended for evaluation in network nodes in a respective hierarchy level are produced in the source network node in communications networks having network nodes which are allocated to different hierarchy levels. In this case, different routing methods, which are advantageous for a respective hierarchy level, can be provided in different hierarchy levels. A route changeover from a first hierarchy level to a second hierarchy level can be initiated in a simple way by means of a cross-reference, which is inserted into a routing statement that is valid for the first hierarchy level, to a routing statement which is valid for the second hierarchy level.
Furthermore, routing statements can be produced in the source network node, and can be transmitted associated with a data packet, in which case these routing statements can each be evaluated efficiently in different subregions of the communications network. In a heterogeneous communications network which is composed of a number of differently structured subnetworks using different routing methods, for example, a routing statement optimized for a particular routing method can be produced for each routing method used in a respective subnetwork.
Other features which are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in a method for transmitting data packets to a number of receivers in a heterogeneous communications network, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.